home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / Library / +ORC / Orc pac 9E / FILEZ.ZIP / SICE32NT.ZIP / NTICE32.ZIP / README.TXT < prev    next >
Encoding:
Text File  |  1997-07-24  |  20.4 KB  |  540 lines

  1. README.TXT
  2.  
  3. SoftICE 3.2 Release Notes
  4.  
  5.  
  6. -----------------------------------------------------------------
  7.                         Table Of Contents 
  8. -----------------------------------------------------------------
  9. * What's New in SoftICE 3.2
  10.       SMP Support (Windows NT version)
  11.       Memphis Beta 1 support (Windows 95 version)
  12.       Universal Video Driver
  13.       Improved serial operation
  14.       43 Lines on Hercules-compatible Monochrome Cards
  15.       Miscellaneous Options
  16. * System Requirements
  17. * Installation
  18. * Quick Start to Debugging
  19. * Using Multiple Monitors Under Memphis
  20. * Debugging Display Drivers Under Memphis
  21. * Using SoftICE with Visual C++ 5.0
  22. * Using SoftICE with Borland C++ Builder
  23. * VToolsD Support
  24. * Known Anomalies
  25. * Troubleshooting Tips
  26. * Known Problems Related to Watcom C++
  27. * Reporting Problems And Suggestions
  28.  
  29.  
  30. What's New in SoftICE 3.2
  31. -------------------------
  32.  
  33. Major new features in SoftICE 3.2 include:
  34.  
  35. * SMP support (Windows NT version)
  36. * Memphis Beta 1 support (Windows 95 version)
  37. * Universal video driver: hardware-independent video support that works 
  38. with most recent cards.
  39. * Improved serial operation
  40. * 43 lines on Hercules-compatible monochrome cards (first introduced in 
  41. SoftICE 3.01)
  42.  
  43.  
  44. SMP Support (Windows NT version)
  45. --------------------------------
  46.  
  47. SoftICE 3.2 supports Pentium and Pentium Pro multiprocessor systems, up 
  48. to 8 CPUs, which use the standard Intel multiprocessor scheme (APIC). 
  49. Note that there are a variety of semistandard and proprietary 
  50. multiprocessor systems on the market; these are NOT supported.
  51.  
  52. The CPU command can be used to dump the state of the various processors. 
  53. While SoftICE is active (popped up) only one CPU is in use; the rest are 
  54. halted. At other times all CPUs run concurrently, as normal.
  55.  
  56.  
  57. Memphis Beta 1 support (Windows 95 version)
  58. -------------------------------------------
  59.  
  60. SoftICE 3.2 (Windows 95 version) supports Memphis Beta 1 (build 1525). 
  61. The following features have been added:
  62.  
  63. * The DEVICE, DRIVER, FOBJ, IRP and OBJDIR commands have been added to 
  64. the Memphis version.  These commands operate in the same manner as those 
  65. found in SoftICE for Windows NT.  Please refer to the SoftICE Command 
  66. Reference manual for additional information.
  67.  
  68. * If WDMEXPORTS=ON is placed in WINICE.DAT, SoftICE for Windows 95 will 
  69. dynamically build exports for WDM drivers.
  70.  
  71.  
  72. Universal Video Driver
  73. ----------------------
  74.  
  75. Previous versions of SoftICE ran exclusively in text mode, and relied on 
  76. device-dependent drivers, written by NuMega, to switch from normal 
  77. Windows hires mode to text mode and back. The main problem with this is 
  78. that each display device requires special support. SoftICE 3.2 
  79. introduces a "universal" video driver which works in a largely device-
  80. independent manner, eliminating the need to explicitly support each 
  81. device.
  82.  
  83. Rather than switch into text mode, the universal video driver uses 
  84. whatever video mode is currently in effect, and writes directly into the 
  85. frame buffer. Thus SoftICE appears as a movable "window" on the Windows 
  86. display.
  87.  
  88. In the case where Windows hires mode is not active, e.g. full-screen DOS 
  89. box, SoftICE switches the display to text mode, just as it would if the 
  90. universal video driver were not selected. Although this involves device-
  91. dependent register access, in most cases the Standard VGA driver can be 
  92. used successfully, since the display is in a standard VGA mode. (An 
  93. exception would be a DOS program that switched the display into a SVGA 
  94. mode).
  95.  
  96. To summarize, the key benefits of the universal video driver are:
  97.  
  98. * Device-independent (within certain parameters); most new cards work 
  99. automatically without requiring special support.
  100.  
  101. * SoftICE pops up as a movable "window" on the Windows desktop. Up to 
  102. 128 lines are supported with 3 font choices.
  103.  
  104. The universal video driver is enabled during the video setup phase of 
  105. the installation by selecting the "Universal Video Driver" checkbox. As 
  106. explained above, when the universal video driver is enabled the video 
  107. card choice only affects SoftICE when the system is in VGA mode (e.g. 
  108. full-screen DOS box), so Standard VGA is an acceptable choice if your 
  109. video card is not listed.
  110.  
  111. Be sure to select the "Test" button to verify that your video card and 
  112. driver are supported. In order to use the universal video driver the 
  113. video card must meet the following conditions:
  114.  
  115. 1) The video card uses a linear (not bank-switched) frame buffer (only 
  116. required on Windows NT)
  117. 2) The video driver supports DirectDraw (only required on Windows NT). 
  118. Note that being able to run DirectDraw programs does not imply that your 
  119. video driver supports DirectDraw.
  120. 3) The video card must run in 8-bit, 15/16-bit, 24-bit, or 32-bit modes.
  121.  
  122. With the universal video driver enabled, SoftICE will pop up directly on 
  123. the Windows desktop, using whatever video mode is currently in effect. 
  124.  
  125. The universal video driver is not supported under NT 3.51.
  126.  
  127.  
  128. COMMANDS
  129.  
  130. The following commands and hotkeys can be used to change the location 
  131. and appearance of the SoftICE "window":
  132.  
  133. SET FONT n
  134.      where n is 1, 2 or 3, selects a font.
  135.  
  136. SET ORIGIN x y
  137.      Where x and y are pixel coordinates, locates the window.
  138.  
  139. LINES n
  140.     Where n is 25-128, selects the number of lines for SoftICE to use
  141.  
  142. Control-Alt- cursor keys
  143.     Moves the SoftICE window by a character increment.
  144.  
  145. Control-Alt-Home
  146.     Resets the SoftICE window position to (0, 0)
  147.  
  148. Control-L
  149.     Refreshes the SoftICE display. This is useful in the rare case 
  150. where the part of the display used by SoftICE is overlapped by a bitblt 
  151. operation that happened to be running when SoftICE popped up.
  152.  
  153.  
  154. SETTING THE VIDEO MEMORY SIZE
  155.  
  156. When using the universal video driver, SoftICE must save the existing 
  157. contents of the frame buffer so it can be restored later. The amount of 
  158. memory required depends on the video mode, the number of lines used by 
  159. SoftICE, and (for DirectDraw applications) how many flipping surfaces 
  160. are in use. In any case, the amount of memory required can't exceed the 
  161. amount of memory on your video card. By default, SoftICE reserves 2MB, 
  162. but you can modify this using the Symbol Loader (go to Edit -> SoftICE 
  163. Initialization Settings and change the "Video memory size" setting).
  164.  
  165.  
  166. Improved serial operation
  167. -------------------------
  168.  
  169. SoftICE 3.2 includes a new Win32 implementation of the utility used 
  170. control SoftICE over a standard serial port, called SERIAL32.EXE. If the 
  171. remote machine is running MSDOS, the old MSDOS version of SERIAL may 
  172. still be used. (The DOS SERIAL.EXE program has been relocated to the 
  173. UTIL16 directory).  The command line syntax for SERIAL32 is as follows:
  174.  
  175. serial32 [-l=25|43|50|60] [<port name> [<baud rate>]]
  176.  
  177. '-l' sets initial screen lines
  178. <port name> is COM1, COM2, etc...
  179. <baud rate> is the baud rate
  180.  
  181. The SoftICE SERIAL command line usage has not changed.  This is 
  182. documented in the manual.
  183.  
  184. As an alternative to running SERIAL32 or SERIAL, SoftICE 3.2 can also be 
  185. used with a VT100 compatible terminal (or program) as the controlling 
  186. device.  In VT100 mode, function keys can be entered by using the key 
  187. sequence "^F" "digit" ("^F" denotes pressing the "F" key while holding 
  188. down the Control key).  The digits "0" thru "9" may be used.  Example: 
  189. "^F" "1" denotes function key F1.  "^F" "0" denotes function key F10.  
  190. Some ALT keys may be entered by using the key sequence "^A" "character".  
  191. Example:  "^A" "A" denotes ALT-A.  
  192.  
  193. To initiate use of the VT100 serial mode in SoftICE, use the following 
  194. command:
  195.  
  196. SERIAL VT100 [com-port] [baud-rate]
  197.  
  198.  
  199. 43 Lines on Hercules-compatible Monochrome Cards
  200. ------------------------------------------------
  201.  
  202. As of version 3.01, SoftICE has the ability to run in graphics mode on 
  203. Hercules-compatible monochrome cards, allowing it to display 43 lines of 
  204. text rather than the 25 lines possible in text mode. This mode is 
  205. entered via the commands:
  206.  
  207. ALTSCR MONO
  208. LINES 43
  209.  
  210. There is a related SET option. SET WIDE ON causes SoftICE to use 9-pixel 
  211. wide character cells rather than 8-pixel wide characters. Outside of 43-
  212. line monochrome mode, the option is meaningless.
  213.  
  214.  
  215. Miscellaneous Options
  216. ---------------------
  217.  
  218. Some miscellaneous options have been added in this release.
  219.  
  220. SET WHEELLINES n
  221.     For IntelliPoint mice: sets the number of lines that should be 
  222. scrolled for each wheel movement.
  223.  
  224. SET BUTTONREVERSE [on|off]
  225.     Setting this to ON will reverse the normal meaning of the two 
  226. mouse buttons.
  227.  
  228.  
  229. System Requirements
  230. -------------------
  231.  
  232. For All Systems:
  233.  
  234. * 5 MB disk space required
  235. * 2.5 MB disk space optional (Adobe Acrobat Reader for on-line manuals)
  236. * Microsoft-compatible Serial or PS/2 mouse (optional)
  237. * Single monitor, an additional monochrome monitor, and remote debugging 
  238. are supported
  239.  
  240. For Windows 95:
  241.  
  242. * Windows 95
  243. * 16 MB RAM minimum (32 MB recommended)
  244.  
  245. For Windows NT:
  246.  
  247. * Intel x86 uniprocessor or Intel-standard SMP system
  248. * Windows NT 3.51
  249. * Windows NT 4.0 (Build 1381)
  250. * 32 MB RAM minimum (64 MB recommended)
  251. * Installation account with administrator rights
  252.  
  253.  
  254. Installation
  255. ------------
  256.  
  257. * To install SoftICE, run SETUP.EXE. For Windows NT, run Setup from an 
  258. account with administrator rights.
  259.  
  260. * Setup will prompt you to select your display adapter's make and model, 
  261. and allow you to select the "Universal" video driver or an additional 
  262. monochrome monitor.
  263.  
  264. * Setup will prompt you to select the type of mouse you are using (none, 
  265. serial-COM1, serial-COM2, or PS/2). The bus mouse is not supported.
  266.  
  267. * You can change your display adapter or mouse later by running Display 
  268. Adapter or Mouse Setup from the SoftICE start menu (Windows 95) or the 
  269. SoftICE program group (Windows NT).
  270.  
  271. * For Windows NT only: Setup will prompt you to select a startup mode 
  272. for SoftICE. You can change your startup mode later by running Startup 
  273. Mode Setup from the SoftICE program group.
  274.  
  275. * To uninstall SoftICE, select Remove SoftICE from the SoftICE start 
  276. menu (Windows 95) or from the SoftICE program group (Windows NT).
  277.  
  278.  
  279. Quick Start to Debugging
  280. ------------------------
  281.  
  282. 1) Run Symbol Loader (LOADER32.EXE).
  283.  
  284. 2) Choose File-Open Module, and select the module you want to debug.
  285.  
  286. 3) Choose Module-Load (or click the Load button on the toolbar). SoftICE 
  287. automatically extracts symbol information from your module, creates a 
  288. .NMS file containing the information, loads the symbols and source code, 
  289. and, if you are loading an EXE file, loads the EXE and sets a 
  290. breakpoint. You're ready to start debugging.
  291.  
  292. Other features to check in the new symbol loader:
  293.  
  294. * Module-Settings (symbol translation and debug options for your module)
  295. * Module-Translate (creates a .NMS file for pre-loading at start up)
  296. * Edit-SoftICE Initialization Settings (replaces WINICE.DAT)
  297. * File-Load Exports (loads exported symbols for DLLs you select)
  298. * File-Save SoftICE History (replaces WLOG and DLOG)
  299.  
  300.  
  301. Using Multiple Monitors Under Memphis
  302. -------------------------------------
  303.  
  304. NOTE: This section applies to Memphis only. SoftICE does not currently 
  305. support multiple displays under Windows NT.
  306.  
  307. Memphis supports multiple display devices. One of the devices, called 
  308. the primary display, supports VGA (this is the device that is active at 
  309. boot time); the other devices run with VGA disabled.
  310.  
  311. In the video setup phase of the installation, be sure to select the 
  312. device being used as the primary video card. For example, if you're 
  313. using an S3 card as the primary display and an ATI card as the secondary 
  314. display, tell SoftICE to use the S3 card.
  315.  
  316.  
  317. SPECIFYING WHICH MONITOR TO USE
  318.  
  319. When the Universal Video Driver is in use, it is possible to control 
  320. which monitor SoftICE will use. Add a line to WINICE.DAT such as this:
  321.  
  322. MONITOR=1
  323.  
  324. This tells SoftICE to use the "second" monitor. Other numbers (0, 1, 2, 
  325. etc) can be used.
  326.  
  327.  
  328. Debugging Display Drivers Under Memphis
  329. ---------------------------------------
  330.  
  331. Under Memphis there can be multiple display drivers loaded 
  332. simultaneously, and multiple instances of display drivers. 
  333. Unfortunately, all these drivers have the same module name, DISPLAY, so 
  334. SoftICE doesn't know which driver it should associate with the symbol 
  335. table. The symbol table will be associated with the first driver loaded, 
  336. which may not be the one you want to debug.
  337.  
  338. There are two solutions to this problem:
  339.  
  340. * Don't load multiple display drivers or display driver instances unless 
  341. it's really necessary.
  342.  
  343. * Use the SYMLOC command to tell SoftICE which module it should 
  344. associate with the symbol table, as follows:
  345.  
  346. SYMLOC [hmod]
  347.  
  348. Where hmod is a module handle (a 16-bit number). Use the MOD command 
  349. (e.g. MOD DISPLAY) to get a list of the loaded display drivers and their 
  350. handles.
  351.  
  352.  
  353. Using SoftICE with Visual C++ 5.0
  354. ---------------------------------
  355.  
  356. When linking, the /PDBTYPE:CON option must be used. To set this option 
  357. from the IDE, go to the Link tab of the project settings, select 
  358. Category "Debug", and ensure that the "Separate types" option is NOT 
  359. selected.
  360.  
  361.  
  362. Using SoftICE with Borland C++ Builder
  363. --------------------------------------
  364.  
  365. C++ Builder stores the Borland debug information in .TDS files separate 
  366. from the executable. TDS files are also produced by the TDSTRP32 
  367. utility. To load symbols and source into SoftICE, simply use the Symbol 
  368. Loader to load the .TDS file. If you want to load the executable from 
  369. the Symbol Loader that must be done afterward as a separate step. 
  370. Alternatively, you could set the desired breakpoints and then load the 
  371. executable normally.
  372.  
  373.  
  374. VToolsD Support
  375. ---------------
  376.  
  377. SoftICE 3.2 includes support for locals and structures, which makes it 
  378. easier than ever to develop VxDs in C/C++. To take full advantage of 
  379. SoftICE 3.2, VToolsD users will need to make some minor modifications to 
  380. the VtoolsD make files.
  381.  
  382. NOTE:
  383. Replacement makefiles incorporating these changes are available from 
  384. ftp://ftp.numega.com/pub/tech/vtoolsd.zip
  385.  
  386. Microsoft Visual C++ users:
  387.  
  388. Edit vtd95\include\ms9.mak as follows:
  389.  
  390. 1) Replace all instances of /Zd with /Zi. This ensures that full debug 
  391. information is included.
  392.  
  393. 2) Remove references to DBG2MAP and MSYM. Those tools were used with 
  394. older versions of SoftICE but are now obsolete. Instead, to create your 
  395. .NMS symbol file, use:
  396.  
  397. NMSYM /PROMPT /TRANSLATE:package,always /SOURCE:$(VTOOLSD)\lib\source;$(VTOOLSD)\lib\classlib;$(VTOOLSD)\lib\include $(TARGNAME)
  398.  
  399. Unzipping the VtoolsD source code is recommended for full source-level 
  400. debugging.
  401.  
  402. Borland C++ users:
  403.  
  404. 1) Build your VxD with debug information using the /v switch for the 
  405. compiler and linker (as usual).
  406.  
  407. 2) Use the PELE utility with the -s switch to create a section mapping 
  408. file (.SMF). Translate the .SMF file to a .NMS symbol file with LOADER32 
  409. or NMSYM. Note that translating the .DLL produced by the linker will not 
  410. work; it is essential to translate from the .SMF file.
  411.  
  412.  
  413. Known Anomalies
  414. ---------------
  415.  
  416. * When using the universal video driver, you may notice that the Windows 
  417. cursor overlays the SoftICE display. This occurs because the Windows 
  418. cursor is (usually) implemented as a hardware sprite. If this bothers 
  419. you, one way around it is to select a color or animated cursor (in the 
  420. Windows control panel settings); the operating system will revert to a 
  421. software cursor, which can be erased by the SoftICE display rendering.
  422.  
  423. * Under the following conditions SoftICE for Windows NT may appear to 
  424. hang your machine (it is not really hung however!):
  425. - You start SoftICE for Windows NT manually, and you are NOT in full-
  426. screen (VGA) mode.
  427. - You are using the universal video driver.
  428. - You do not have an "X;" at the end of your SoftICE INIT string.
  429.  
  430. If all these conditions are met, SoftICE will start but will be 
  431. invisible. Hit Control-D to regain control of the system. The next time 
  432. you hit Control-D SoftICE should pop up normally. The reason for this 
  433. anomaly is that the SoftICE universal video driver can't begin to 
  434. operate until at least one command has been passed to the display 
  435. driver. None of this applies to SoftICE for Windows 95.
  436.  
  437. * When debugging 16-bit programs, ? <variable> and WATCH <variable> are 
  438. not supported. However, the locals window is fully functional.
  439.  
  440. * The NT 3.51 checked build crashes when SoftICE is loaded using the 
  441. default winice.dat file. To fix the problem, change winice.dat as 
  442. follows:
  443. - Add the line: mouse=off
  444. - If you are using a mouse in SoftICE, add "set mouse on" to your INIT 
  445. string. Example: init="set mouse on;X;"
  446.  
  447. * SoftICE 3.2 for Windows 95 is not compatible with BoundsChecker for 
  448. Windows 3.x (16-bit).
  449.  
  450. * The Windows 95 shutdown option Restart computer in MS-DOS mode is not 
  451. supported when running SoftICE. Loading SoftICE after choosing this 
  452. option causes the system to become unstable and eventually crash. To 
  453. return to MS-DOS after you shut down Windows 95, set BOOTGUI=0 in 
  454. MSDOS.SYS (really an ini file with hidden, read-only, system 
  455. attributes). Then use Shutdown the Computer to restart your system.
  456.  
  457. * Windows NT becomes unstable when it runs low on non-paged memory. This 
  458. can occur if you load many symbols and source files. Use Symbol Loader-
  459. Help-About Symbol loader to monitor SoftICE memory usage. You may need 
  460. to be selective about how much information you load into SoftICE. 
  461. SoftICE loads all source files by default. To limit the source files, 
  462. list the files to be loaded in a .SRC file with the same name as your 
  463. module. Put the .SRC file in the same directory with your executable.
  464.  
  465.  
  466. Troubleshooting Tips
  467. --------------------
  468.  
  469. * Erratic keyboard behavior:  If the keyboard behaves erratically when 
  470. you load SoftICE, run Symbol Loader, select Edit-SoftICE Initialization 
  471. Settings, and select the following option on the Troubleshooting page, 
  472. and restart SoftICE:
  473.  
  474. --- Disable Num Lock and Caps Lock programming
  475.  
  476. If the erratic behavior persists in Windows NT, select this 
  477. Troubleshooting option as well:
  478.  
  479. --- Do not patch keyboard driver
  480.  
  481. * Erratic mouse pointer movement: If mouse movement occurs when SoftICE 
  482. pops up, the operating system and the mouse hardware might become out of 
  483. sync because part of a mouse packet is lost. This results in erratic 
  484. mouse pointer movement. Use one of the following to resync the mouse:
  485. - Type ctrl-M in SoftICE. You may need to do this a few times.
  486. - Switch to a full screen DOS box in Windows NT.
  487. - Use SET MOUSE OFF, followed by SET MOUSE ON, in Windows 95.
  488.  
  489. * If you encounter a situation where either program logic or a corrupt 
  490. data structure causes SoftICE to enter an endless loop and the 
  491. informational commands do not respond in a timely manner, press the 
  492. Escape (Esc) key one or more times to abort the current operation.
  493.  
  494. * Debugging Delphi Programs - Be sure to use the $O- option to turn off 
  495. optimizations. When optimizations are on, many unreferenced parameters 
  496. and locals are optimized out, although some reference to them still 
  497. exists in the debug information.
  498.  
  499.  
  500. Known Problems Related to Watcom C++
  501. ------------------------------------
  502.  
  503. * Watcom C++ V11.0 does not seem to produce correct Codeview debug 
  504. information in all cases (line number sections are missing). No such 
  505. problem was observed with earlier versions of Watcom C++.
  506.  
  507. * When Watcom C++ V10.6 is used with the Microsoft linker (from VC++ 
  508. V4.2) to produce VxDs, the line number debug information produced by the 
  509. linker is not correct. The reason for this is unknown, and may affect 
  510. other versions as well.
  511.  
  512.  
  513. Reporting Problems And Suggestions
  514. ----------------------------------
  515.  
  516. Be sure to check our web site at http://www.numega.com for product 
  517. updates, FAQs, white papers and other technical support information.
  518.  
  519. Contact Technical Support via our SUPPORT page at our web site or send 
  520. e-mail to tech@numega.com.  Priority Support Customers can call us at 1 
  521. 888 NUMEGAS or +1 603 578 8100.    You can also FAX us at +1 603 578 
  522. 8401 (attention: Technical Support).
  523.  
  524. If you are not a Priority Support Customer but are interested in 
  525. becoming one, visit our website or call 1 800 4NUMEGA.
  526.  
  527. Include the following in your problem report:
  528.  
  529. * System Configuration (O/S, processor, and RAM)
  530. * Detailed problem description (include exact error message text)
  531. * If video related, include video adapter and driver names and version
  532.   (include PCI Vendor ID and Device ID as well if available)
  533. * How to reproduce the problem
  534.  
  535.  
  536. -----------------------------------------------------------------
  537. Copyright 1997 NuMega Technologies Inc.
  538. 07/24/97
  539.  
  540.